// api/menu.js
import axios from '@/utils/axios'

// 获取当前用户的菜单
export function getMenus() {
  return axios.get('/menus')
}

// 获取所有菜单（用于管理）
export function getAllMenus() {
  return axios.get('/menus/all')
}

// 根据角色ID获取菜单
export function getMenusByRoleId(roleId) {
  return axios.get(`/menus/role/${roleId}`)
}

// 新增菜单
export function addMenu(data) {
  return axios.post('/menus', data)
}

// 更新菜单
export function updateMenu(data) {
  return axios.put('/menus', data)
}

// 删除菜单
export function deleteMenu(menuId) {
  return axios.delete(`/menus/${menuId}`)
}

// 批量删除菜单
export function batchDeleteMenus(menuIds) {
  return axios.delete('/menus/batch', { data: menuIds })
}

// 更新角色菜单权限
export function updateRoleMenus(roleId, menuIds) {
  return axios.post(`/menus/role/${roleId}`, menuIds)
}

// 搜索菜单
export function searchMenus(keyword) {
  return axios.get('/menus/search', {
    params: { keyword }
  })
}

// 获取菜单面包屑
export function getMenuBreadcrumb(menuId) {
  return axios.get(`/menus/breadcrumb/${menuId}`)
}

// 验证菜单权限
export function checkMenuPermission(menuPath) {
  return axios.get('/menus/permission', {
    params: { menuPath }
  })
}

// 获取角色菜单ID列表
export function getRoleMenuIds(roleId) {
  return axios.get(`/menus/role/${roleId}/ids`)
}
